package pl.uz.zgora.plan;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;

public class GrupaDataSource {
	private SQLiteDatabase database;
	
	public GrupaDataSource(SQLiteDatabase database)
	{
		this.database = database;
	}
	
	public boolean addGrupa(final Grupa grupa)
	{
		if(!database.isOpen())
			throw new SQLiteException("Database not open!");
		
		if(database.isReadOnly())
			throw new SQLiteException("Wrong database connection!");
		
		ContentValues values = new ContentValues();
		values.put(PlanDatabaseHandler.KEY_GRUPA, grupa.getIdGrupy());
		values.put(PlanDatabaseHandler.KEY_NAME, grupa.getNazwa());
		
		if(database.insert(PlanDatabaseHandler.TABLE_GRUPA, null, values) == -1)
			return false;
		
		return true;
	}
	
	public Grupa getGrupa()
	{
		if(!database.isOpen())
			throw new SQLiteException("Database not open!");
		
		final Cursor cursor = database.query(PlanDatabaseHandler.TABLE_GRUPA,
				null, null, null, null, null, null);
	
		Grupa grupa = null;
		cursor.moveToFirst();
		if(!cursor.isAfterLast()) {
			grupa = GrupaDataSource.cursorToGrupa(cursor);
		}
		// Make sure to close the cursor
		cursor.close();
		
		return grupa;
	}
	
	public static Grupa cursorToGrupa(Cursor cursor)
	{
		Grupa grupa = new Grupa();
		grupa.setIdGrupy(cursor.getInt(0));
		grupa.setNazwa(cursor.getString(1));
		return grupa;
	}
}
